/**
 * @description 智能翻译网页
 * @author libin
 * @date 2025-08-25
 * @version 1.0.0
 */

// 创建右键菜单
chrome.runtime.onInstalled.addListener(() => {
  console.log("扩展安装/更新完成，正在创建右键菜单...");
  
  try {
    chrome.contextMenus.create({
      id: "copy-div-content",
      title: "智能翻译网页",
      contexts: ["all"]
    });
    console.log("右键菜单创建成功");
  } catch (error) {
    console.error("创建右键菜单失败:", error);
  }
});

// 监听右键菜单点击事件
chrome.contextMenus.onClicked.addListener((info, tab) => {
  console.log("右键菜单被点击:", info.menuItemId);
  
  if (info.menuItemId === "copy-div-content") {
    console.log("正在翻译Div内容请求...");
    
    // 执行内容脚本
    chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
      if (tabs && tabs[0]) {
        console.log("找到活动标签页:", tabs[0].id, tabs[0].url);
        chrome.tabs.sendMessage(tabs[0].id, {action: "copyDivContent"}, (response) => {
          if (chrome.runtime.lastError) {
            console.log("发送消息失败:", chrome.runtime.lastError);
          } else {
            console.log("内容脚本响应:", response);
          }
        });
      } else {
        console.error("未找到活动标签页");
      }
    });
  }
});

// 接收来自内容脚本的消息
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  console.log("收到来自内容脚本的消息:", request);
  
  if (request.action === "showNotification") {
    console.log("显示通知:", request.message);
    
    // 显示浏览器通知
    chrome.notifications.create({
      type: "basic",
      iconUrl: "icons/icon48.png",
      title: "智能翻译网页",
      message: request.message
    });
  }
  
  // 确认收到消息
  sendResponse({received: true});
});

// 监听服务工作者启动
console.log("后台服务工作者已启动");